在 Day 1,我們了解 TDD「紅燈-綠燈-重構」的核心思想,並建立起「TDD 是為了更快地交付高品質軟體」的正確心態。理論的種子已經播下,今天,我們就要來為後續的實作做好萬全準備 ( 俗稱 setup 環境) 。
俗話說:「工欲善其事,必先利其器」。一個順暢、高效的開發環境,能讓我們專注於 TDD 的思考流程,而不是被工具問題搞得焦頭爛額。
Go (或稱 Golang) 是由 Google 開發的一門靜態強型別、編譯型、併發型,並具有垃圾回收功能的程式語言。它的簡潔、高效能以及內建強大的測試工具,使其成為實踐 TDD 的絕佳選擇。
首先,前往 Golang 的官方下載頁面
找一下符合自己的作業系統(Windows, macOS, Linux),並下載對應的安裝包。
安裝完成後,打開你的終端機 (Terminal) 或命令提示字元 (Command Prompt),輸入以下指令:
go version
如果你看到類似 go version xxxx windows/amd64 的輸出訊息(版本號可能不同),那就代表 Go 語言已經成功安裝在你的電腦上了!
安裝程式會幫我們設定好 GOROOT (Go 的安裝路徑) 和 GOPATH (Go 的工作區路徑) 等環境變數 (Linux/Mac 用戶可能需要另外在 .bashrc 裡面進行變數設定)。
VS Code 是由微軟開發的免費、開源且功能強大的編輯器,憑藉其豐富的擴充套件生態,成為了 Go 開發社群的主流選擇。
剛安裝好的 VS Code 還只是一個通用的文字編輯器,我們需要為它安裝 Go 專屬的擴充套件,讓它「學會」如何理解並輔助我們撰寫 Go 程式碼。
AI 套件的部分就選擇自己喜歡的就好了。
光有擴充套件還不夠,它還需要一系列的底層命令列工具來提供程式碼自動完成、格式化、錯誤檢查等功能。幸運的是,這個過程非常簡單。
按下 Ctrl+Shift+P (Windows/Linux) 或 Cmd+Shift+P (macOS) 打開命令面板,輸入 Go: Install/Update Tools
並按 Enter,接著會在下方的「OUTPUT」視窗中開始自動下載並安裝 gopls (語言伺服器) 、 go-outline (大綱視圖工具)、 goimports (自動整理 import) 等幾個工具。
當你看到所有工具後面都顯示 succeeded 時,就代表我們的開發環境已經是完全體了!
讓我們來寫下第一行測試程式碼,確保所有工具都正常協同工作。
在你的電腦上找個自己喜歡的地方,建立一個新的資料夾,然後用 VS Code 打開這個資料夾 ( 喜歡的人可以用 terminal cd 進該資料夾後,輸入 code .
來來開啟 vscode。
透過 terminal 進入到專案資料夾後,使用輸入: go mod init day2
來初始化 Golang 專案,當然 day2 可以替換成自己喜歡的名字。
在 Golang 專案中先執行
go mod init
是因為 Go 使用 模組系統 (Go Modules) 來管理依賴關係和專案結構,簡單來說就像是向 Golang 宣告當前模組的名字。
在 Go 語言中,測試檔案的命名必須以_test.go 結尾。這是 Go 測試工具識別測試檔案的約定。
package main
import (
"testing"
)
func TestHelloEnvironment(t *testing.T) {
t.Log("恭喜!您的 Go TDD 環境已準備就緒!")
}
聰明的你會注意到,當你儲存檔案時,import ("testing")
應該會被自動加入,這就是我們剛剛安裝的 goimports 工具在發揮作用。
現在,你有兩種簡單的方式可以執行這個測試:
UI執行: 在 func TestHelloEnvironment... 這一行的上方,你會看到一個「run test」按鈕。直接點擊它。
指令執行: 在 terminal 輸入 go test
無論使用哪種方式,你都應該會在終端機或輸出視窗看到 PASS 這個詞,就代表你的 Go 編譯器、go test 指令、VS Code 編輯器和所有擴充套件都已經正確安裝並協同工作了!
今天我們從零開始,成功搭建了 Golang 開發與測試環境。一個好的開始是成功的一半,你已經為接下來的 TDD 實戰鋪平了道路。
預告:Day 3 - Golang 語法速成 - 打造「可測試」的函式、結構與介面
明天,我們將正式進入 Golang 的世界。主要會聚焦於那些與「可測試性」最息息相關的核心語法:函式、結構 (Structs) 和介面 (Interfaces),學習如何從一開始就寫出易於測試的程式碼。